/***************************************************************************************************
  *Copyright(C),2010-2016,Sumscope
  *FileName	:  base64.h
  *Author	:  scofined.qi
  *Version	:  1.0
  *Date		:  2016/01/28
  *Desc		:  //用于主要说明此程序文件完成的主要功能
  *Relation :  
  *Others	:  //其他内容说明
  *Function :  //主要函数列表，每条记录应包含函数名及功能简要说明
  *History	:  //修改历史记录列表，每条修改记录应包含修改日期、修改者及修改内容简介
***************************************************************************************************/
#pragma once
#include "BaseString.h"
#include <string>
#include <string.h>

namespace qb{
	namespace base{
        class S_CORE_EXPORT Base64{
		public:
			static int Encode(const char* aIn, size_t aInLen, char* aOut,size_t aOutSize, size_t* aOutLen);
			static int Encode(const BaseString &strSrc, BaseString &strDest );

			static int Decode(const char* aIn, size_t aInLen, char* aOut,size_t aOutSize, size_t* aOutLen);
			static int Decode(const BaseString &strSrc, BaseString &strDest );


			static unsigned int CRC32(const char *s, int len);
            static unsigned short CRC16(const unsigned char *info, unsigned long len);
		};
	}
}

